﻿using System;
using System.Windows.Controls;

namespace HasuSLUI
{
    public interface IControlFactory
    {
        Control CreateControl(Metadata metadata);
        TextBlock CreateLabel(Metadata metadata, double width);

        event BindingHandler OnBinding;
        event CreateControlHandler OnControlCreate;
        event BindingHandler OnUnknownBinding;
        event CreateControlHandler OnUnknownControl;
        void SetBinding(Control control, Metadata metadata, object entity);

        DataGridColumn CreateColumn(Metadata metadata);
        void SetBinding(DataGridColumn column, Metadata metadata);

    }
}
